<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>  
        // setTimeout(() => {  
        //     console.log('setTimeout');  
        // }, 0);  
        // setImmediate(() => {  
        //     console.log('setImmediate');  
        // });  
        // 这里输入setTimeout,setImmediate
        // 可能会相反,取决于性能
        // 因为可能进入 event loop 用不到1毫秒,这时候会执行setImmediate
        // 否则会执行setTimeout

        var fs = require('fs')
        fs.readFile(__filename,()=>{
            setTimeout(()=>{
                console.log('timeout')
            },0);
            setTmmediate(()=>{
                console.log('immediate')
            });
        })
        // 因为readfile的回调在poll中执行
        // 发现有setTmmediate,所以会立即跳到check阶段执行回调
        // 在去timer阶段执行settimeout
        // 所以以上输入是setTmmediate,setTimeout
    </script>
</body>

</html>